In conventional handheld devices, a user may customize the user interface of a home page or other pages of the device based on the user's preferences or use the default setting provided by the manufacturer. After the user has customized the home page or other pages, the locations of buttons/icons are fixed until the user makes further modifications. One of the drawbacks of this type of user interface is that the buttons/icons are stationary despite the user's hand operating the device may move around to different positions to hold the device. This drawback can cause some of the buttons not reachable by the hand holding the device without changing the grip of the device. In addition, the conventional user interface would require the user to look at the display to locate the buttons to be pressed, and in many cases the conventional user interface would require two hands to operate the device, for example using the assistance of the hand that is not holding the device to reach certain buttons. Thus, it would be beneficial to provide virtual buttons in a handheld device based on the locations of the user's fingers. It would also be beneficial to enable the user to generate commands according to the user's preferences using only one hand and without looking at the display of the device.